package com.taobao.api.response;

import java.util.List;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;
import com.taobao.api.TaobaoObject;
import java.util.Date;

import com.taobao.api.TaobaoResponse;

/**
 * TOP API: tmall.nr.fulfill.sold.orderlist.query response.
 * 
 * @author top auto create
 * @since 1.0, null
 */
public class TmallNrFulfillSoldOrderlistQueryResponse extends TaobaoResponse {

	private static final long serialVersionUID = 1727116119399735344L;

	/** 
	 * result
	 */
	@ApiField("result")
	private NrResult result;


	public void setResult(NrResult result) {
		this.result = result;
	}
	public NrResult getResult( ) {
		return this.result;
	}
	
	/**
 * 已生成的配送计划序号及配送日期
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class NrZqsPlanDetailInfoDto extends TaobaoObject {

	private static final long serialVersionUID = 2579758165394914143L;

	/**
		 * 计划配送时间
		 */
		@ApiField("plan_date")
		private String planDate;
		/**
		 * 配送期号从1开始，一直到N
		 */
		@ApiField("sequence_no")
		private Long sequenceNo;
	

	public String getPlanDate() {
			return this.planDate;
		}
		public void setPlanDate(String planDate) {
			this.planDate = planDate;
		}
		public Long getSequenceNo() {
			return this.sequenceNo;
		}
		public void setSequenceNo(Long sequenceNo) {
			this.sequenceNo = sequenceNo;
		}

}

	/**
 * 配送计划的详情，仅做周期送业务需要
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class NrZqsPlanRespDto extends TaobaoObject {

	private static final long serialVersionUID = 6543816153793335167L;

	/**
		 * 每次配送的周期天数（在cycleType为1时生效，其它时候为空）1表示每天送，2表示隔1天送
		 */
		@ApiField("cycle_days")
		private Long cycleDays;
		/**
		 * 配送频率类型:1-隔N天送，2-周末送，3-工作日送
		 */
		@ApiField("cycle_type")
		private Long cycleType;
		/**
		 * 每次配送件数
		 */
		@ApiField("num_per_cycle")
		private Long numPerCycle;
		/**
		 * 暂停退款提前告知的天数
		 */
		@ApiField("pause_ahead_days")
		private Long pauseAheadDays;
		/**
		 * 已生成的配送计划序号及配送日期
		 */
		@ApiListField("plan_list")
		@ApiField("nr_zqs_plan_detail_info_dto")
		private List<NrZqsPlanDetailInfoDto> planList;
		/**
		 * 配送时间范围，结束时间，只取时分，HH:mm格式
		 */
		@ApiField("send_end_time")
		private String sendEndTime;
		/**
		 * 配送时间范围，起送时间，只取时分，HH:mm格式
		 */
		@ApiField("send_start_time")
		private String sendStartTime;
		/**
		 * 退款开始时间，注意，这个时间当天如果有配送还是会配送的，第二天开始之后的配送会取消
		 */
		@ApiField("start_refund_date")
		private String startRefundDate;
	

	public Long getCycleDays() {
			return this.cycleDays;
		}
		public void setCycleDays(Long cycleDays) {
			this.cycleDays = cycleDays;
		}
		public Long getCycleType() {
			return this.cycleType;
		}
		public void setCycleType(Long cycleType) {
			this.cycleType = cycleType;
		}
		public Long getNumPerCycle() {
			return this.numPerCycle;
		}
		public void setNumPerCycle(Long numPerCycle) {
			this.numPerCycle = numPerCycle;
		}
		public Long getPauseAheadDays() {
			return this.pauseAheadDays;
		}
		public void setPauseAheadDays(Long pauseAheadDays) {
			this.pauseAheadDays = pauseAheadDays;
		}
		public List<NrZqsPlanDetailInfoDto> getPlanList() {
			return this.planList;
		}
		public void setPlanList(List<NrZqsPlanDetailInfoDto> planList) {
			this.planList = planList;
		}
		public String getSendEndTime() {
			return this.sendEndTime;
		}
		public void setSendEndTime(String sendEndTime) {
			this.sendEndTime = sendEndTime;
		}
		public String getSendStartTime() {
			return this.sendStartTime;
		}
		public void setSendStartTime(String sendStartTime) {
			this.sendStartTime = sendStartTime;
		}
		public String getStartRefundDate() {
			return this.startRefundDate;
		}
		public void setStartRefundDate(String startRefundDate) {
			this.startRefundDate = startRefundDate;
		}

}

	/**
 * 子订单列表
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class NrOrderDto extends TaobaoObject {

	private static final long serialVersionUID = 3434771164142374546L;

	/**
		 * 实际付款金额
		 */
		@ApiField("actual_paid_fee")
		private Long actualPaidFee;
		/**
		 * 修改价格修改的金额
		 */
		@ApiField("adjust_fee")
		private Long adjustFee;
		/**
		 * 商品价格
		 */
		@ApiField("auction_price")
		private Long auctionPrice;
		/**
		 * buyerNick
		 */
		@ApiField("buyer_nick")
		private String buyerNick;
		/**
		 * createTime
		 */
		@ApiField("create_time")
		private Date createTime;
		/**
		 * 店铺优惠的金额
		 */
		@ApiField("discount_fee")
		private Long discountFee;
		/**
		 * itemId
		 */
		@ApiField("item_id")
		private Long itemId;
		/**
		 * 配送计划的详情，仅做周期送业务需要
		 */
		@ApiField("nr_zqs_plan_resp_d_t_o")
		private NrZqsPlanRespDto nrZqsPlanRespDTO;
		/**
		 * 数据
		 */
		@ApiField("num")
		private Long num;
		/**
		 * orderId
		 */
		@ApiField("order_id")
		private Long orderId;
		/**
		 * 退款状态可选值WAIT_SELLER_AGREE(买家已经申请退款，等待卖家同意)，WAIT_BUYER_RETURN_GOODS(卖家已经同意退款，等待买家退货)，WAIT_SELLER_CONFIRM_GOODS(买家已经退货，等待卖家确认收货)，SELLER_REFUSE_BUYER(卖家拒绝退款)，CLOSED(退款关闭)，SUCCESS(退款成功)
		 */
		@ApiField("refund_status")
		private String refundStatus;
		/**
		 * sellerNick
		 */
		@ApiField("seller_nick")
		private String sellerNick;
		/**
		 * skuId
		 */
		@ApiField("sku_id")
		private Long skuId;
		/**
		 * title
		 */
		@ApiField("title")
		private String title;
	

	public Long getActualPaidFee() {
			return this.actualPaidFee;
		}
		public void setActualPaidFee(Long actualPaidFee) {
			this.actualPaidFee = actualPaidFee;
		}
		public Long getAdjustFee() {
			return this.adjustFee;
		}
		public void setAdjustFee(Long adjustFee) {
			this.adjustFee = adjustFee;
		}
		public Long getAuctionPrice() {
			return this.auctionPrice;
		}
		public void setAuctionPrice(Long auctionPrice) {
			this.auctionPrice = auctionPrice;
		}
		public String getBuyerNick() {
			return this.buyerNick;
		}
		public void setBuyerNick(String buyerNick) {
			this.buyerNick = buyerNick;
		}
		public Date getCreateTime() {
			return this.createTime;
		}
		public void setCreateTime(Date createTime) {
			this.createTime = createTime;
		}
		public Long getDiscountFee() {
			return this.discountFee;
		}
		public void setDiscountFee(Long discountFee) {
			this.discountFee = discountFee;
		}
		public Long getItemId() {
			return this.itemId;
		}
		public void setItemId(Long itemId) {
			this.itemId = itemId;
		}
		public NrZqsPlanRespDto getNrZqsPlanRespDTO() {
			return this.nrZqsPlanRespDTO;
		}
		public void setNrZqsPlanRespDTO(NrZqsPlanRespDto nrZqsPlanRespDTO) {
			this.nrZqsPlanRespDTO = nrZqsPlanRespDTO;
		}
		public Long getNum() {
			return this.num;
		}
		public void setNum(Long num) {
			this.num = num;
		}
		public Long getOrderId() {
			return this.orderId;
		}
		public void setOrderId(Long orderId) {
			this.orderId = orderId;
		}
		public String getRefundStatus() {
			return this.refundStatus;
		}
		public void setRefundStatus(String refundStatus) {
			this.refundStatus = refundStatus;
		}
		public String getSellerNick() {
			return this.sellerNick;
		}
		public void setSellerNick(String sellerNick) {
			this.sellerNick = sellerNick;
		}
		public Long getSkuId() {
			return this.skuId;
		}
		public void setSkuId(Long skuId) {
			this.skuId = skuId;
		}
		public String getTitle() {
			return this.title;
		}
		public void setTitle(String title) {
			this.title = title;
		}

}

	/**
 * 主订单列表
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class TradeOrderDetailDto extends TaobaoObject {

	private static final long serialVersionUID = 7638811616584515292L;

	/**
		 * appointEndTime
		 */
		@ApiField("appoint_end_time")
		private String appointEndTime;
		/**
		 * appointStartTime
		 */
		@ApiField("appoint_start_time")
		private String appointStartTime;
		/**
		 * buyerNick
		 */
		@ApiField("buyer_nick")
		private String buyerNick;
		/**
		 * createTime
		 */
		@ApiField("create_time")
		private String createTime;
		/**
		 * 子订单列表
		 */
		@ApiListField("order_d_t_os")
		@ApiField("nr_order_dto")
		private List<NrOrderDto> orderDTOs;
		/**
		 * orderId
		 */
		@ApiField("order_id")
		private String orderId;
		/**
		 * payTime
		 */
		@ApiField("pay_time")
		private String payTime;
		/**
		 * 邮费（单位分）
		 */
		@ApiField("post_fee")
		private String postFee;
		/**
		 * 收货地址_未提供
		 */
		@ApiField("receiver_address")
		private String receiverAddress;
		/**
		 * 城市_未提供
		 */
		@ApiField("receiver_city")
		private String receiverCity;
		/**
		 * 区_未提供
		 */
		@ApiField("receiver_district")
		private String receiverDistrict;
		/**
		 * 手机_未提供
		 */
		@ApiField("receiver_mobile")
		private String receiverMobile;
		/**
		 * 收货人_未提供
		 */
		@ApiField("receiver_name")
		private String receiverName;
		/**
		 * 电话_未提供
		 */
		@ApiField("receiver_phone")
		private String receiverPhone;
		/**
		 * 省
		 */
		@ApiField("receiver_province")
		private String receiverProvince;
		/**
		 * 镇街道_未提供
		 */
		@ApiField("receiver_town")
		private String receiverTown;
		/**
		 * sellerNick
		 */
		@ApiField("seller_nick")
		private String sellerNick;
		/**
		 * 可选值:TRADE_NO_CREATE_PAY(没有创建支付宝交易)，WAIT_BUYER_PAY(等待买家付款)，SELLER_CONSIGNED_PART(卖家部分发货)，WAIT_SELLER_SEND_GOODS(等待卖家发货,即:买家已付款)，WAIT_BUYER_CONFIRM_GOODS(等待买家确认收货,即:卖家已发货)，TRADE_BUYER_SIGNED(买家已签收,货到付款专用)，TRADE_FINISHED(交易成功)，TRADE_CLOSED(付款以后用户退款成功，交易自动关闭)，TRADE_CLOSED_BY_TAOBAO(付款以前，卖家或买家主动关闭交易)，PAY_PENDING(国际信用卡支付付款确认中) * WAIT_PRE_AUTH_CONFIRM(0元购合约中)，PAID_FORBID_CONSIGN(拼团中订单或者发货强管控的订单，已付款但禁止发货)
		 */
		@ApiField("status")
		private String status;
		/**
		 * storeCode
		 */
		@ApiField("store_code")
		private String storeCode;
	

	public String getAppointEndTime() {
			return this.appointEndTime;
		}
		public void setAppointEndTime(String appointEndTime) {
			this.appointEndTime = appointEndTime;
		}
		public String getAppointStartTime() {
			return this.appointStartTime;
		}
		public void setAppointStartTime(String appointStartTime) {
			this.appointStartTime = appointStartTime;
		}
		public String getBuyerNick() {
			return this.buyerNick;
		}
		public void setBuyerNick(String buyerNick) {
			this.buyerNick = buyerNick;
		}
		public String getCreateTime() {
			return this.createTime;
		}
		public void setCreateTime(String createTime) {
			this.createTime = createTime;
		}
		public List<NrOrderDto> getOrderDTOs() {
			return this.orderDTOs;
		}
		public void setOrderDTOs(List<NrOrderDto> orderDTOs) {
			this.orderDTOs = orderDTOs;
		}
		public String getOrderId() {
			return this.orderId;
		}
		public void setOrderId(String orderId) {
			this.orderId = orderId;
		}
		public String getPayTime() {
			return this.payTime;
		}
		public void setPayTime(String payTime) {
			this.payTime = payTime;
		}
		public String getPostFee() {
			return this.postFee;
		}
		public void setPostFee(String postFee) {
			this.postFee = postFee;
		}
		public String getReceiverAddress() {
			return this.receiverAddress;
		}
		public void setReceiverAddress(String receiverAddress) {
			this.receiverAddress = receiverAddress;
		}
		public String getReceiverCity() {
			return this.receiverCity;
		}
		public void setReceiverCity(String receiverCity) {
			this.receiverCity = receiverCity;
		}
		public String getReceiverDistrict() {
			return this.receiverDistrict;
		}
		public void setReceiverDistrict(String receiverDistrict) {
			this.receiverDistrict = receiverDistrict;
		}
		public String getReceiverMobile() {
			return this.receiverMobile;
		}
		public void setReceiverMobile(String receiverMobile) {
			this.receiverMobile = receiverMobile;
		}
		public String getReceiverName() {
			return this.receiverName;
		}
		public void setReceiverName(String receiverName) {
			this.receiverName = receiverName;
		}
		public String getReceiverPhone() {
			return this.receiverPhone;
		}
		public void setReceiverPhone(String receiverPhone) {
			this.receiverPhone = receiverPhone;
		}
		public String getReceiverProvince() {
			return this.receiverProvince;
		}
		public void setReceiverProvince(String receiverProvince) {
			this.receiverProvince = receiverProvince;
		}
		public String getReceiverTown() {
			return this.receiverTown;
		}
		public void setReceiverTown(String receiverTown) {
			this.receiverTown = receiverTown;
		}
		public String getSellerNick() {
			return this.sellerNick;
		}
		public void setSellerNick(String sellerNick) {
			this.sellerNick = sellerNick;
		}
		public String getStatus() {
			return this.status;
		}
		public void setStatus(String status) {
			this.status = status;
		}
		public String getStoreCode() {
			return this.storeCode;
		}
		public void setStoreCode(String storeCode) {
			this.storeCode = storeCode;
		}

}

	/**
 * resultData
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class NrTimingOrderSoldQueryRespDto extends TaobaoObject {

	private static final long serialVersionUID = 7512679384699462476L;

	/**
		 * pageNo
		 */
		@ApiField("page_no")
		private Long pageNo;
		/**
		 * pageSize
		 */
		@ApiField("page_size")
		private Long pageSize;
		/**
		 * totalNum
		 */
		@ApiField("total_num")
		private Long totalNum;
		/**
		 * 主订单列表
		 */
		@ApiListField("trade_order_detail_d_t_os")
		@ApiField("trade_order_detail_dto")
		private List<TradeOrderDetailDto> tradeOrderDetailDTOs;
	

	public Long getPageNo() {
			return this.pageNo;
		}
		public void setPageNo(Long pageNo) {
			this.pageNo = pageNo;
		}
		public Long getPageSize() {
			return this.pageSize;
		}
		public void setPageSize(Long pageSize) {
			this.pageSize = pageSize;
		}
		public Long getTotalNum() {
			return this.totalNum;
		}
		public void setTotalNum(Long totalNum) {
			this.totalNum = totalNum;
		}
		public List<TradeOrderDetailDto> getTradeOrderDetailDTOs() {
			return this.tradeOrderDetailDTOs;
		}
		public void setTradeOrderDetailDTOs(List<TradeOrderDetailDto> tradeOrderDetailDTOs) {
			this.tradeOrderDetailDTOs = tradeOrderDetailDTOs;
		}

}

	/**
 * result
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class NrResult extends TaobaoObject {

	private static final long serialVersionUID = 4341798972522846334L;

	/**
		 * errorCode
		 */
		@ApiField("error_code")
		private String errorCode;
		/**
		 * errorMessage
		 */
		@ApiField("error_message")
		private String errorMessage;
		/**
		 * isSuccess
		 */
		@ApiField("is_success")
		private Boolean isSuccess;
		/**
		 * resultData
		 */
		@ApiField("result_data")
		private NrTimingOrderSoldQueryRespDto resultData;
	

	public String getErrorCode() {
			return this.errorCode;
		}
		public void setErrorCode(String errorCode) {
			this.errorCode = errorCode;
		}
		public String getErrorMessage() {
			return this.errorMessage;
		}
		public void setErrorMessage(String errorMessage) {
			this.errorMessage = errorMessage;
		}
		public Boolean getIsSuccess() {
			return this.isSuccess;
		}
		public void setIsSuccess(Boolean isSuccess) {
			this.isSuccess = isSuccess;
		}
		public NrTimingOrderSoldQueryRespDto getResultData() {
			return this.resultData;
		}
		public void setResultData(NrTimingOrderSoldQueryRespDto resultData) {
			this.resultData = resultData;
		}

}



}
